Optimizing compilation with preservation of structural code coverage metrics to support software testing

نویسندگان

  • Raimund Kirner
  • Walter Haas
چکیده

Code-coverage-based testing is a widely-used testing strategy with the aim of providing a meaningful decision criterion for the adequacy of a test suite. Code-coverage-based testing is also mandated for the development of safety-critical applications, for example, the DO178b document requires the application of the modified condition/decision coverage (MCDC). One critical issue of code-coverage testing is that structural code coverage criteria are typically applied to source code while the generated machine code may result in a different code structure due to code optimizations performed by a compiler. In this work we present the automatic calculation of coverage profiles describing which structural code-coverage criteria are preserved by which code optimization, independently of the concrete test suite. These coverage profiles allow to easily extend compilers with the feature of preserving any given code-coverage criteria by enabling only those code optimizations that preserve it. Furthermore we describe the integration of these coverage profile into the compiler GCC. With these coverage profiles we answer the question of how much code optimization is possible without compromising the error-detection likelihood of a given test suite. Experimental results conclude that the performance cost to achieve preservation of structural code coverage in GCC is rather low. Copyright c ⃝ 2011 John Wiley & Sons, Ltd.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Testing Strategies for Model-Based Development

Model-based software development offers new opportunities and challenges for validation and verification of safety-critical software. Since models have well-defined syntax and semantics, it is possible to test models as well as source code and to define structural coverage metrics over models. Further, given a formal description of requirements, it is possible to use automated tools to check wh...

متن کامل

Optimizing Cost Function in Imperialist Competitive Algorithm for Path Coverage Problem in Software Testing

Search-based optimization methods have been used for software engineering activities such as software testing. In the field of software testing, search-based test data generation refers to application of meta-heuristic optimization methods to generate test data that cover the code space of a program. Automatic test data generation that can cover all the paths of software is known as a major cha...

متن کامل

Automatic Calculation of Coverage Profiles for Coverage-based Testing

Code-coverage-based testing is a widely-used testing strategy with the aim of providing a meaningful decision criterion for the adequacy of a test suite. Code-coverage-based testing is also used for the development of safety-critical applications, as the modified condition/decision coverage (MCDC) is proposed by the DO178b document. One critical issue of code-coverage testing is that they are t...

متن کامل

Test Coverage Analysis for Object Oriented Programs - Structural Testing Through Aspect Oriented Instrumentation

The introduction of Object Oriented Technologies in test centered processes has emphasized the importance of finding new methods for software verification. Testing metrics and practices, developed for structured programs, have to be adapted in order to address the prerogatives of object oriented programming. In this work, we introduce a new approach to structural coverage evaluation in the test...

متن کامل

Data Flow Testing

This document discusses data flow testing: a form of structural (white box) testing that is a variant on path testing, focussing on the definition and usage of variables, rather than the structure of the program. Two different topics relating to data flow testing are discussed: define/use testing, along with a set of test coverage metrics; and the concept of splitting a program into slices, acc...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Softw. Test., Verif. Reliab.

دوره 24  شماره 

صفحات  -

تاریخ انتشار 2014